<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>正则表达式规则</title>
</head>
<body>
<script>
    //-1- 使用exec()方法返回数组
    //    var reg=/[a-z]+\s\d{4}/;
    //    var str='hello 2020';
    //    alert(reg.exec(str));

    //-2- 捕获性分组，非捕获性分组
    /*
     var reg=/([a-z]+)\s(\d{4})/;
     var str='hello 2020';
     alert(reg.exec(str));
     alert(reg.exec(str)[0])
     alert(reg.exec(str)[1])
     alert(reg.exec(str)[2])
     * */

    //    数组中第一个数据是匹配整个正则表达式的字符串
    //    数组中第2个数据是匹配第一个分组的字符串
    //    数组中第3个数据是匹配第二个式的字符串

    // 2.1 非捕获性
    /*
     var reg=/([a-z]+)\s(?:\d{4})/;
     var str='hello 2020';
     alert(reg.exec(str));
     * */


    // 2.2 前瞻捕获  --作用返回以什么结尾的字符串
    //    var reg=/google/;
    //    var reg=/goo(?=gle)/;
    //    var str='google';  //返回后面跟着gle的字符串
    //    alert(reg.exec(str));

    //    var reg=/[a-z](?=gle)/;
    //    var str='doogle';
    //    alert(reg.exec(str));

    // 2.3 换行模式
    //    var reg=/\d+/g;
    //    var reg=/^\d+/g;
    var reg = /^\d+/gm;
    var str = '1.baidu\n2.google\n2.ie';

    alert(str.replace(reg, '#'))

    //url传参获取值
    function GetQueryString(name){
        var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
//        if(r!=null)return  unescape(r[2]);return null;
        if(r!=null)return  String.fromCharCode(r[2]);return null;
    }
    GetQueryString('id');
</script>
</body>
</html>

